The reason for the Invoice line allowance, expressed as a code.
請求書明細行の返金理由をコードで表現。


About

Syntax binding
ubl:Invoice / cac:InvoiceLine / cac:AllowanceCharge / cbc:AllowanceChargeReasonCode
Restricted Syntax Cardinality
0..1
Example
95
UBL 2.1
XPath
/ Invoice / cac:InvoiceLine / cac:AllowanceCharge [ cbc:ChargeIndicator = false() ] / cbc:AllowanceChargeReasonCode
Occurrence
0..1
Datatype
AllowanceChargeReason_CodeType
UBL Definition
A mutually agreed code signifying the reason for this allowance or charge.
Namespace
cbc urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2

Semantic

Business Term

Invoice line allowance reason code

請求書明細行の返金理由コード
ID
ibt-140
Description
The reason for the Invoice line allowance, expressed as a code.
請求書明細行の返金理由をコードで表現。
Aligned Cardinality
0..1
Semantic datatype
Code

Code list

UNCL5189
Allowance reason codes (UNCL5189 subset)
UNCL7161
Charge reason code (UNCL7161)

VERSION 1.0 RULES

Unchanged
Same as 0.9.3

VERSION 0.9.3 RULES
JP PINT 0.9.3 Shared rules
ibr-042(fatal)
Unchanged
Same as 0.9.2
ibr-cl-19(fatal)
Changed Message
[ibr-cl-19]-Coded allowance reasons (ibt-098, ibt-140) MUST belong to the UNCL 5189 code list
context
cac:AllowanceCharge[cbc:ChargeIndicator = false()]/cbc:AllowanceChargeReasonCode
test
(
  (
    not(contains(normalize-space(.), ' ')) and
    contains(' 41 42 60 62 63 64 65 66 67 68 70 71 88 95 100 102 103 104 ',
      concat(' ', normalize-space(.), ' ')
    )
  )
)

VERSION 0.9.2 RULE
JP PINT 0.9.2 Shared rule
ibr-042(fatal)
Still valid
[ibr-042]-Each Invoice line allowance (ibg-27) MUST have an Invoice line allowance reason (ibt-139) or an Invoice line allowance reason code (ibt-140).
context
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
//cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)

VERSION 0.9.1 RULES
Obsoleted
Shared rules (0.9.1)
ibr-042 (fatal)
[ibr-042]-Each Invoice line allowance (ibg-27) MUST have an Invoice line allowance reason (ibt-139) or an Invoice line allowance reason code (ibt-140).
context
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
//cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)
ibr-cl-19 (fatal)
[ibr-cl-19]-Coded allowance reasons (ibt-097 ibt-140) MUST belong to the UNCL 5189 code list
context
cac:AllowanceCharge[cbc:ChargeIndicator = false()]/cbc:AllowanceChargeReasonCode
test
(
  (
    not(contains(normalize-space(.), ' ')) and
    contains(' 41 42 60 62 63 64 65 66 67 68 70 71 88 95 100 102 103 104 ',
      concat(' ', normalize-space(.), ' ')
    )
  )
)

JP PINT 0.9 RULES
Obsoleted
Shared Rules (0.9)
ibr-42(fatal)
[ibr-42]-Each Invoice line allowance (ibg-27) shall have an Invoice line allowance reason (ibt-139) or an Invoice line allowance reason code (ibt-140).
context
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] | //cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)

PEPPOL BIS BILLING 3.0 RULES
EN16931 model bound to UBL rules
BR-42 (fatal)
Each Invoice line allowance (BG-27) shall have an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140).
context
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
//cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)
BR-CO-07 (fatal)
Invoice line allowance reason code (BT-140) and Invoice line allowance reason (BT-139) shall indicate the same type of allowance reason.
context
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
//cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
test
true()
BR-CO-23 (fatal)
Each Invoice line allowance (BG-27) shall contain an Invoice line allowance reason (BT-139) or an Invoice line allowance reason code (BT-140), or both.
context
//cac:InvoiceLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()] |
//cac:CreditNoteLine/cac:AllowanceCharge[cbc:ChargeIndicator = false()]
test
exists(cbc:AllowanceChargeReason) or
exists(cbc:AllowanceChargeReasonCode)